package srtaller;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 *
 * @author DIN
 */
public class Clientes {
    
    Conectate con;

    public Clientes() {

    con = new Conectate();  
    }
    
    
 //Nuevo Cliente
   public void NuevoCliente(String nombre, String apellidop, String apellidom){
       try {            
            PreparedStatement pstm = con.getConnection().prepareStatement("insert into " + 
                    "clientes(Nombre,Apellido_p,Apellido_m" +
                    " values(?,?,?)");            
            pstm.setString(1, nombre);
            pstm.setString(2, apellidop);
            pstm.setString(3, apellidom);                                               
            pstm.execute();
            pstm.close();            
         }catch(SQLException e){
         System.out.println(e);
      }
   }   
    
    //obtenemos todos los datos de la tabla
 public Object [][] getDatos(){
      int registros = 0;
      //obtenemos la cantidad de registros existentes en la tabla
      try{         
         PreparedStatement pstm = con.getConnection().prepareStatement("SELECT count(1) as total FROM clientes ");
         ResultSet res = pstm.executeQuery();
         res.next();
         registros = res.getInt("total");
         res.close();
      }catch(SQLException e){
         System.out.println(e);
      } 
   
       Object[][] data = new String[registros][4];  
    //realizamos la consulta sql y llenamos los datos en "Object"
      try{    
         PreparedStatement pstm = con.getConnection().prepareStatement("SELECT " +
            " Codigo,Nombre,Apellido_p,Apellido_m" +
            " FROM clientes" +
            " ORDER BY Codigo ");
         ResultSet res = pstm.executeQuery();
         int i = 0;
         while(res.next()){
            String estCodigo = res.getString("Codigo");
            String estNombre = res.getString("Nombre");
            String estpaterno = res.getString("Apellido_p");
            String estmaterno = res.getString("Apellido_m");
           
            data[i][0] = estCodigo;
            data[i][1] = estNombre;            
            data[i][2] = estpaterno;            
            data[i][3] = estmaterno;            
            i++;
         }
         res.close();
          }catch(SQLException e){
         System.out.println(e);
    }
    return data;
 }
 
 public void deleteCliente(String cod){  
            try {                
                PreparedStatement pstm = con.getConnection().prepareStatement("delete from Clientes where Codigo = ?");            
                pstm.setString(1, cod);                   
                pstm.execute();
                pstm.close();            
            }catch(SQLException e){
            System.out.println(e);
            }            
   }

 public void updateCliente(String Codigo, String name, String paterno, String materno){
       try {            
            PreparedStatement pstm = con.getConnection().prepareStatement("update Clientes " +
            "set Nombre = ? ,"  +
            "Apellido_p = ? ," +
            "Apellido_m = ? " +                   
            "where Codigo = ? ");            
            pstm.setString(1, name);                   
            pstm.setString(2, paterno);
            pstm.setString(3, materno);
            pstm.setString(4, String.valueOf(Codigo));
            pstm.execute();
            pstm.close();            
         }catch(SQLException e){
         System.out.println(e);
      }
   }

}// termina class
